---
title: SAIF.Application.Claim.Legal operations and processes
summary: Business and technical operations supported by this library.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# SAIF.Application.Claim.Legal operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed logic lives in its own page under `operations/`.

## Operation catalog
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [LegalManagerBase.OnContextChanged](operations/resolve-legal-case-context.md) | Resolve legal case context | Context or identifier changes. | Current manager state and workflow-specific inputs | Case list and current case are rebuilt. | [BR-011](business-rules.md#br-011-legal-case-context-can-be-established-from-a-claim-number%2C-wcb-number%2C-or-dcbs-number) | See operation detail | [SQL-009](sql/SQL-009-legal-case-header.md) |
| [LegalManagerBase.OnRetrieve](operations/confidential-claim-gate.md) | Apply confidential-claim security | A manager retrieves claim-backed legal data. | Current manager state and workflow-specific inputs | Claim view is allowed or blocked. | [BR-001](business-rules.md#br-001-members-of-the-legal-admin-ad-group-bypass-all-confidential-claim-restrictions); [BR-002](business-rules.md#br-002-a-worker-conflict-claim); [BR-003](business-rules.md#br-003-an-exposure-claim) | See operation detail | — |
| [LegalManagerBase.insertLetterRequest](operations/queue-letter-request.md) | Queue a LegalNet letter | A workflow needs a database-backed letter request. | Current manager state and workflow-specific inputs | Stored procedure request number returned. | [BR-020](business-rules.md#br-020-letter-requests) | See operation detail | [SQL-001](sql/SQL-001-insert-letter-request.md) |
| [LegalManagerBase consolidated-case propagation](operations/propagate-consolidated-case-changes.md) | Propagate primary-case changes | A primary consolidated case changes shared state. | Current manager state and workflow-specific inputs | Secondary cases are updated to match. | [BR-021](business-rules.md#br-021-changes-to-file-location%2C-lce%2C-case-status%2C-and-def-flag-on-a-primary-case-propagate-to-all-consolidated-secondary-cases) | See operation detail | — |
| [clsAttorneyTableManager maintenance workflow](operations/attorney-table-maintenance.md) | Maintain attorney tables | Attorney-table screen loads or saves. | Current manager state and workflow-specific inputs | Updated child collections, AJAX output, and reports. | [BR-030](business-rules.md#br-030-saving-attorney-tables-persists-six-child-collections-in-a-fixed-order-within-one-write); [BR-031](business-rules.md#br-031-lookup-code-lists-are-cached-in-process-for-8-hours-sliding) | See operation detail | [SQL-002](sql/SQL-002-adjuster-code-list.md); [SQL-003](sql/SQL-003-alj-board-fj-person-list.md); [SQL-004](sql/SQL-004-attorney-code-list.md); [SQL-005](sql/SQL-005-hearing-location-code-list-attorney-tables.md); [SQL-006](sql/SQL-006-policy-name-code-list.md); [SQL-007](sql/SQL-007-attorney-assignment-table-list.md) |
| [clsLegalPersonManager maintenance workflow](operations/legal-person-maintenance.md) | Maintain legal persons and firms | Person-maintenance screen loads or saves. | Current manager state and workflow-specific inputs | Updated person, type, and firm collections. | [BR-040](business-rules.md#br-040-a-legal-person); [BR-041](business-rules.md#br-041-after-a-legal-person-save%2C-the-person-collection-is-discarded-to-force-a-fresh-reload) | See operation detail | [SQL-010](sql/SQL-010-other-firm-type-code-list.md); [SQL-011](sql/SQL-011-person-maintenance-view-list.md); [SQL-012](sql/SQL-012-legal-person-type-code-list.md) |
| [clsHearingLocationManager maintenance workflow](operations/hearing-location-maintenance.md) | Maintain hearing locations | Location-maintenance screen loads or edits a location. | Current manager state and workflow-specific inputs | Updated location rows and invalidated cache. | [BR-031](business-rules.md#br-031-lookup-code-lists-are-cached-in-process-for-8-hours-sliding); [BR-050](business-rules.md#br-050-new-hearing-locations-default-requiresfulldayflag-false-rotationflag-false-createdate-today-createuser-dpi-userid); [BR-051](business-rules.md#br-051-a-hearing-location) | See operation detail | [SQL-008](sql/SQL-008-hearing-location-code-list-location-maintenance.md) |
| [clsMaintenanceManager profile maintenance](operations/attorney-profile-maintenance.md) | Maintain attorney profiles | Profile-maintenance screen loads or saves. | Current manager state and workflow-specific inputs | Reloaded profile lists and report output. | [BR-060](business-rules.md#br-060-attorney-profiles-are-active-only-when-expirationdate-has-not-passed) | See operation detail | — |
| [clsRequestManager.OnWrite](operations/save-hearing-request.md) | Save hearing request | Request workflow commits changes. | Current manager state and workflow-specific inputs | Tasks, notes, consolidation work, and optional recon letter. | [BR-070](business-rules.md#br-070-a-new-hearing-request-creates-a-loun-file-location-entry); [BR-071](business-rules.md#br-071-hearing-request-tasks); [BR-072](business-rules.md#br-072-a-change-of-firm-or-attorney-is-recorded-as-a-system-case-note-with-category-rfh-and-createuser-system) | See operation detail | [SQL-001](sql/SQL-001-insert-letter-request.md) |
| [clsScheduleManager.PreSaveProcessing / PostSaveProcessing](operations/schedule-save-processing.md) | Apply schedule side effects | Schedule workflow saves a schedule. | Current manager state and workflow-specific inputs | Transitions, DEF print, and DEF email handling. | [BR-080](business-rules.md#br-080-def-print-hold-date-is-the-next-friday-if-today-is-friday-the-following-friday); [BR-081](business-rules.md#br-081-def-notification-e-mail-goes-to-the-attorney-manager-resolved-from-the-database-falling-back-to-isclaimsappssupport-at-saif.com); [BR-082](business-rules.md#br-082-outside-production-def-e-mail-is-redirected-to-the-current-user-dpi-userid-at-saif.com) | See operation detail | [SQL-017](sql/SQL-017-attorney-manager-email.md) |
| [clsOutcomeManager.CloseCase](operations/close-legal-case.md) | Close legal case | Outcome workflow closes the current case. | Current manager state and workflow-specific inputs | Closed status, RECRD file location, and close tasks. | [BR-090](business-rules.md#br-090-closing-a-case-adds-a-recrd-file-location-and-sets-casestatuscode-close); [BR-091](business-rules.md#br-091-a-voc-specific-close-task-caseclosedvoc-is-created-only-when-the-case-has-voc-issues-and-a-vocmailid-longer-than-5-characters) | See operation detail | [SQL-016](sql/SQL-016-appeal-review-level-list.md) |
| [clsCreateFileManager / clsMailDateManager.OnWrite](operations/submit-letter-batch-after-write.md) | Submit LegalNet letter batch | Create-file or mail-date workflow saves. | Current manager state and workflow-specific inputs | Committed transaction and Appworx batch submission. | [BR-100](business-rules.md#br-100-letter-batch-jobs) | See operation detail | — |
| [clsAssignmentManager.RunAssignmentProcess](operations/run-assignment-process.md) | Run assignment process | User or job starts the assignment batch. | Current manager state and workflow-specific inputs | Assignment results plus commit or rollback. | [BR-110](business-rules.md#br-110-the-attorney-assignment-batch-process-runs-in-test-mode-in-any-non-production-environment) | See operation detail | — |
| [clsCaseSearchManager.GetSearchResults](operations/get-case-search-results.md) | Run secured case search | Case-search screen submits criteria. | Current manager state and workflow-specific inputs | Filtered search result set and report data. | [BR-004](business-rules.md#br-004-case-search-results) | See operation detail | — |
| [clsCaseNotesManager.DeleteNote](operations/delete-case-note.md) | Delete case note safely | A delete is requested for a case note. | Current manager state and workflow-specific inputs | Delete succeeds only when restrictions allow it. | [BR-120](business-rules.md#br-120-only-privileged-users); [BR-121](business-rules.md#br-121-notes-created-by-system-can-never-be-deleted) | See operation detail | — |

## Process flow diagram
The following diagram shows the common library flow from context resolution to security gating and workflow execution.

```mermaid
flowchart TD
  Start([Caller sets context]) --> Context[Resolve claim and legal case]
  Context --> Gate[Apply retrieve security]
  Gate --> Work["Run manager-specific load or<br>save"]
  Work --> SideEffects["Tasks letters email batch<br>jobs"]
  SideEffects --> End([Return results and messages])
```

## Database interactions
The following table summarizes which documented operations execute direct SQL or package calls from this library.

| Operation | SQL | Tables | Type |
| --- | --- | --- | --- |
| [LegalManagerBase.OnContextChanged](operations/resolve-legal-case-context.md) | [SQL-009](sql/SQL-009-legal-case-header.md) | Stored procedure body opaque | Read |
| [LegalManagerBase.insertLetterRequest](operations/queue-letter-request.md) | [SQL-001](sql/SQL-001-insert-letter-request.md) | Stored procedure body opaque | Write |
| [clsAttorneyTableManager maintenance workflow](operations/attorney-table-maintenance.md) | [SQL-002](sql/SQL-002-adjuster-code-list.md); [SQL-003](sql/SQL-003-alj-board-fj-person-list.md); [SQL-004](sql/SQL-004-attorney-code-list.md); [SQL-005](sql/SQL-005-hearing-location-code-list-attorney-tables.md); [SQL-006](sql/SQL-006-policy-name-code-list.md); [SQL-007](sql/SQL-007-attorney-assignment-table-list.md) | [ADP_EMPLOYEE](database-tables.md#adp_employee); [ATTORNEY_PROFILE](database-tables.md#attorney_profile); [HEARING_LOCATION_CODE](database-tables.md#hearing_location_code); [POLICY](database-tables.md#policy); [LEGAL_CODE_TABLE](database-tables.md#legal_code_table); [LEGAL_PERSON](database-tables.md#legal_person); [LEGAL_PERSON_TYPE](database-tables.md#legal_person_type) | Read |
| [clsLegalPersonManager maintenance workflow](operations/legal-person-maintenance.md) | [SQL-010](sql/SQL-010-other-firm-type-code-list.md); [SQL-011](sql/SQL-011-person-maintenance-view-list.md); [SQL-012](sql/SQL-012-legal-person-type-code-list.md) | [OTHER_FIRM_TYPE_CODE](database-tables.md#other_firm_type_code); [LEGAL_CODE_TABLE](database-tables.md#legal_code_table); [LEGAL_PERSON_TYPE_CODE](database-tables.md#legal_person_type_code) | Read |
| [clsHearingLocationManager maintenance workflow](operations/hearing-location-maintenance.md) | [SQL-008](sql/SQL-008-hearing-location-code-list-location-maintenance.md) | [HEARING_LOCATION_CODE](database-tables.md#hearing_location_code) | Read |
| [clsRequestManager.OnWrite](operations/save-hearing-request.md) | [SQL-001](sql/SQL-001-insert-letter-request.md) | Stored procedure body opaque | Write |
| [clsScheduleManager.PreSaveProcessing / PostSaveProcessing](operations/schedule-save-processing.md) | [SQL-017](sql/SQL-017-attorney-manager-email.md) | [DUAL](database-tables.md#dual) | Read |
| [clsOutcomeManager.CloseCase](operations/close-legal-case.md) | [SQL-016](sql/SQL-016-appeal-review-level-list.md) | [APPEAL](database-tables.md#appeal); [REVIEW_LEVEL_CODE](database-tables.md#review_level_code); [DUAL](database-tables.md#dual) | Read |

## Failure and edge-case behavior
- Context resolution leaves the manager without a current case when no claim, WCB, or DCBS match can be found.
- Confidential and exposure claims are blocked for callers lacking the required entitlements.
- Request, schedule, note, and close workflows surface workflow-specific validation or restriction messages instead of silently ignoring failures.

## Stored procedure operations

Operations implemented in Oracle package members referenced by this library.

| Operation | Description | Source | Link |
| --- | --- | --- | --- |
| [LegalManagerBase.insertLetterRequest](operations/queue-letter-request.md) | Queue a LegalNet letter request and return its request number. | `pk80001_LEGALNET.insertLetterRequest` | [Details](procedures/pk80001-legalnet-insertletterrequest.md) |
| [LegalManagerBase.OnContextChanged](operations/resolve-legal-case-context.md) | Load legal-case header data while creating or selecting the current case. | `pk80001_legalNet.getHeader` | [Details](procedures/pk80001-legalnet-getheader.md) |
| [clsScheduleManager.PreSaveProcessing / PostSaveProcessing](operations/schedule-save-processing.md) | Resolve the attorney manager email before sending DEF notification. | `pk80001_LEGALNET.get_atty_mngr_email` | [Details](procedures/pk80001-legalnet-get-atty-mngr-email.md) |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Configuration](configuration.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

## Sources
- SAIF.Application.Claim.Legal\LegalManagerBase.vb
- SAIF.Application.Claim.Legal\clsAttorneyTableManager.vb
- SAIF.Application.Claim.Legal\clsLegalPersonManager.vb
- SAIF.Application.Claim.Legal\clsHearingLocationManager.vb
- SAIF.Application.Claim.Legal\clsMaintenanceManager.vb
- SAIF.Application.Claim.Legal\clsLegalData.vb
- SAIF.Application.Claim.Legal\LegalNet\clsAssignmentManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsCaseNotesManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsCaseSearchManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsCreateFileManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsMailDateManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsOutcomeManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsRequestManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb
